【震惊密码界】Google宣布攻破SHA-1,从此SHA-1不再安全!
昨日,Google在密码学领域干了一件大事,它宣布经过 2 年的研究,已成功破解了 SHA-1 加密, 并表示生成了SHA-1碰撞首次实例。也许你觉得目前使用SHA-1已经不多了,无须担心。是的,但是对于网路安全来说仍具有十分重大的意义。
说到这,我们还是要来看一下SHA-1是什么?
SHA-1是一个散列函数(或哈希函数),它会从给定的文件中产生数字指纹,从而让你验证文件的完整性,又不会暴露整个文件内容,只需要检查哈希值即可。
如果散列函数一切正常,每个文件会产生唯一的哈希值,所以如果只要希值能匹配上,文件本身也能匹配上。这对于登陆系统尤其重要,因为它需要在不暴露密码本身的情况下,验证密码是否正确。
那刚才说的碰撞又是什么呢?
当两组不同的数据——可以作为文件、二进制文件或者网站证书存在的哈希值如上图所示具有相同的摘要内容时,即视为二者发生碰撞。简单的说就是这两个文件产生了相同的哈希值。
实际上,安全的散列函数不应存在这种碰撞现象。然而,在使用SHA-1等存在一定缺陷的散列算法的情况下,拥有充裕资源的攻击者确实能够实现这种碰撞结果。攻击者随后可以利用碰撞欺骗依赖于散列机制的系统,引导后者将原本的良性文件替换为拥有同样摘要的恶意文件——例如两份内容完全不同的保险合同。
用数字让感受一下,Google实现此次破解的规模
总计900万兆(即百万的五次幂,具体为9,223,372,036,854,775,808)次SHA1计算。
要完成攻击的首个阶段需要单一CPU计算6500年。
要完成攻击的第二阶段需要单一GPU计算110年。
虽然这些数字看似非常巨大,但SHA-1破坏性攻击的速度仍然较暴力破解攻击快10万倍。
根据Google的披露政策,他们将在90天后说明自己是怎么做的,同时,他们还将向公众提供一个免费检测系统。
作为用户,我们该怎么办?
其实完全不用担心。密码学家已经预测到这种碰撞很多年了,对怎么做以及需要多少计算力,都了解的很清楚。Google这么做,是因为它有钱,服务器多……所以就动手了。
另外就是,多数网站都已经弃用了SHA-1。虽然也就是在2014年的时候,网络上九成的加密都是用的它,但随后的几年它迅速被抛弃。
截至今年的1月1日,当你访问一个经由SHA-1加密的网站时,每一个主流的浏览器都会向你发出警告(一般情况是全屏红色)。虽然很难说还有多少网站在用它,但正常的网络活动都是安全的。
既然做出的事情不那么激动人心,Google为什么还要做?
首先
“我们希望这次针对SHA-1的攻击实例,将最终令业界确信要尽快使用更安全的替代算法,如SHA-256。对于安全从业者来说,迁移到SHA-256和SHA-3的加密哈希算法,是前所未有的紧迫。SHA-1无疑已经不再安全。”
其次很可能是因为它想结束争论,因为破解SHA-1也是花了行业人士不少时间和精力的,而且不是每个人都想这么做。现在直接给出结论,从而结束这么多年的争论。
怎可止步于此 ,更多挑战等你来!
关注合天,掌握更多网安技能!